#include <stdio.h>
#include <stdlib.h>
#include "addfunc.h"

link_node *creat_link(int num)
{
    int gewei=num%10;
    int shiwei=num%100/10;
    int baiwei=num/100;
    link_node *H=(link_node *)malloc(sizeof(link_node));
    H->num=0;
    H->next=NULL;
    headinsert(H,gewei);
    headinsert(H,shiwei);
    headinsert(H,baiwei);
    
    return H;                                                                                                                                
}

int headinsert(link_node *H,int insertdata)                                                                                                  
{
    link_node *p=(link_node *)malloc(sizeof(link_node));
    p->num=insertdata;
    p->next=H->next;
    H->next=p;

    return 0;
}

int addlinknum(link_node *NO1,link_node *NO2,link_node *E,int *flag)
{
    if(NO1==NULL||NO2==NULL)                                                                                                                 
        return 0;
    if(NO1->next!=NULL&&NO2->next!=NULL)
    {
        addlinknum(NO1->next,NO2->next,E,flag);
    }
    int sum=NO1->num+NO2->num+*flag;
    if(sum>=10)
    {
        *flag=1;
        sum=sum%10;
    }
    else
    {
        *flag=0;
    }

    headinsert(E,sum);

    return 0;
}

int view(link_node *H)
{
    while(H->next!=NULL)
    {
        H=H->next;
        printf(">>>>*****%d\n",H->num);
    }
    return 0;
}

int modlink(link_node *H)
{
	link_node *p=H;
	while(p->next!=NULL)
	{
		p=p->next;
		if(p->num==0)
		{
			H->next=p->next;
			free(p);
			p=H;
		}
		else
		{
			break;
		}
	}
	return 0;
}
